#ifndef __CAPAFISICA_SERIALIZADOR_H
#define __CAPAFISICA_SERIALIZADOR_H

/******************************************************************************
 *                     Organizaci�n de Datos - 75.06                          *
 *                         C�tedra Lic. Servetto                              *
 *            Facultad de Ingenier�a - Universidad de Buenos Aires            *
 ******************************************************************************/ 

#include "Contenedor.h"

namespace CapaFisica
{

	class Serializador
	{

		public:

		virtual int Serializar(char buffer[], int offset) = 0;
		virtual int Deserializar(char buffer[], int offset) = 0;

	};

	class SerializadorContenedores : public Serializador
	{

		public:

		SerializadorContenedores(Contenedor* contenedor);
		int Serializar(char buffer[], int offset);
		int Deserializar(char buffer[], int offset);
		int SerializarTipo(Atributo a, char buffer[],int pointer);
		int DeSerializarTipo(Atributo &a, char buffer[],int pointer);

		private:

		Contenedor* contenedor;

	};

}

#endif
